The advent of cloud-based computing architectures has opened new possibilities for the rapid and scalable deployment of virtual Web stores, media outlets, and other on-line sites or services. In general, a cloud-based architecture deploys a set of hosted resources such as processors, operating systems, software and other components that can be combined or strung together to form virtual machines. A user or customer can request the instantiation of a virtual machine or set of machines from those resources from a central server or management system to perform intended tasks or applications. For example, a user may wish to set up and instantiate a virtual server from the cloud to create a storefront to market products or services on a temporary basis, for instance, to sell tickets to an upcoming sports or musical performance. The user can lease or subscribe to the set of resources needed to build and run the set of instantiated virtual machines on a comparatively short-term basis, such as hours or days, for their intended application.
Typically, when a user utilizes a cloud, the user must track the software applications executed in the cloud and/or processes instantiated in the cloud. For example, the user must track the cloud processes to ensure that the correct cloud processes have been instantiated that the cloud processes are functioning properly and/or efficiently, that the cloud is providing sufficient resources to the cloud processes, etc. Due to the user's requirements and usage of the cloud, the user may have many applications and/or processes instantiated in a cloud and may be utilizing multiple independent clouds to support the cloud processes.
As such, when the user plans or intends to deploy new or additional resources to their complement of cloud-based resources, the user may have difficulty determining which applications, appliances, services, and/or other resources can be integrated into new deployments and remain compatible with existing virtual machines and/or each other. In part, these challenges to the design of expanded or inter-cloud networks can relate to the fact that a given vendor located in one cloud may not have visibility on the set of vendors, software choices, and other resources available in another cloud they may wish to host additional parts of their network.
The vendors in that prospective counterpart cloud may register their applications, appliances, and/or other products or services directly to that particular cloud through its cloud management system or an independent software vendor (ISV) repository, but the data captured using those systems may be restricted to local services, and not exposed to the user who is considering their use in that external cloud. Users who wish to access and register new virtual machines, applications, appliances, or other entities in arbitrary external clouds may wish to view and determine compatibility of their intended application set with the applications and other resources of their own host cloud network before configuring or instantiating machines, applications, or services in across those remote cloud boundaries. It may be desirable to provide systems and methods for a cross-vendor mapping service in cloud networks, in which users based in any one or more arbitrary host cloud can access an external service to determine the compatibility of their own intended applications or appliances with those appliances, applications, and/or services populating other arbitrary external cloud or clouds.